package jjn.round1;

/**
 * @author Jjn
 * @since 2022/8/8 23:26
 */
public class Offer_21_SortArrayOddNumberFirst {

    public int[] exchange(int[] nums) {
        int i = 0, j = nums.length - 1;
        while (i < j) {
            // 从前往后扫描，如果是奇数，跳过此数
            // 判断一下i大小，防止越界
            while (nums[i] % 2 == 1 && i < j) {
                i++;
            }
            while (nums[j] % 2 == 0 && j > i) {
                j--;
            }
            swap(nums, i, j);
            // 交换之后 指针需要跟着移动
            i++;
            j--;
        }
        return nums;
    }

    private void swap(int[] nums, int i, int j) {
        int temp = nums[i];
        nums[i] = nums[j];
        nums[j] = temp;
    }
}
